package com.hsqn.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;

@NoArgsConstructor
@AllArgsConstructor
@Data
public class HealthAndSafety {
    /**
     * 老人ID
     */
    private Long id;

    /**
     * 姓名
     */
    private String name;

    /**
     * 性别(0-女,1-男)
     */
    private Integer gender;

    /**
     * 出生日期
     */
    private LocalDate birthDate;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 居住地址
     */
    private String address;

    /**
     * 紧急联系人
     */
    private String emergencyContact;

    /**
     * 紧急联系电话
     */
    private String emergencyPhone;

    /**
     * 健康状况(0-良好,1-一般,2-较差)
     */
    private Integer healthStatus;

    /**
     * 兴趣爱好
     */
    private String interestHobby;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;

    /**
     * 创建人
     */
    private Long createBy;

    /**
     * 更新人
     */
    private Long updateBy;

    /**
     * 状态(0-禁用,1-正常)
     */
    private Integer status;

    /**
     * 老人ID
     */
    private Long elderlyId;

    /**
     * 身高(cm)
     */
    private Integer height;

    /**
     * 体重(kg)
     */
    private Integer weight;

    /**
     * 血压 (格式示例: "120/80")
     */
    private String bloodPressure;

    /**
     * 血糖(mmol/L)
     */
    private Integer bloodSugar;

    /**
     * 过敏史
     */
    private String allergies;

    /**
     * 慢性病
     */
    private String chronicDisease;

    /**
     * 健康评估
     */
    private String healthEvaluation;

    /**
     * 评估时间
     */
    private LocalDateTime evaluationTime;

    // 手动添加所有setter方法
    public void setId(Long id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public void setBirthDate(LocalDate birthDate) {
        this.birthDate = birthDate;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public void setEmergencyContact(String emergencyContact) {
        this.emergencyContact = emergencyContact;
    }

    public void setEmergencyPhone(String emergencyPhone) {
        this.emergencyPhone = emergencyPhone;
    }

    public void setHealthStatus(Integer healthStatus) {
        this.healthStatus = healthStatus;
    }

    public void setInterestHobby(String interestHobby) {
        this.interestHobby = interestHobby;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public void setUpdatedTime(LocalDateTime updatedTime) {
        this.updatedTime = updatedTime;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    // 对应的getter方法
    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Integer getGender() {
        return gender;
    }

    public LocalDate getBirthDate() {
        return birthDate;
    }

    public String getIdCard() {
        return idCard;
    }

    public String getPhone() {
        return phone;
    }

    public String getAddress() {
        return address;
    }

    public String getEmergencyContact() {
        return emergencyContact;
    }

    public String getEmergencyPhone() {
        return emergencyPhone;
    }

    public Integer getHealthStatus() {
        return healthStatus;
    }

    public String getInterestHobby() {
        return interestHobby;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public LocalDateTime getUpdatedTime() {
        return updatedTime;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public Long getUpdateBy() {
        return updateBy;
    }

    public Integer getStatus() {
        return status;
    }
}